import java.util.Random;
import java.util.Scanner;

public class Test {
    public static void main1_1(String[] args) {
        //编写程序数一下 1到 100 的所有整数中出现多少个数字9
        //方法一：
        int i = 0;
        int count = 0;
        for (i = 1; i <= 100; i++) {
            int num = i;
            while (num != 0) {
                if (num % 10 == 9) {
                    count++;
                }
                num /= 10;
            }
        }
        System.out.println(count);
    }

    public static void main1_2(String[] args) {
        //方法二
        int count = 0;
        for (int i = 1; i <= 100 ; i++) {
            if (i % 10 == 9){
                //个位是9
                count++;
            }
            if (i / 10 == 9){
                //十位是9
                count++;
            }
        }
        System.out.println(count);
    }

    public static void main2_1(String[] args) {
////    计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
        //方法一
        double sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 2 != 0) {
                sum += 1.0 / i;
            } else {
                sum += -1.0 / i;
            }
        }
        System.out.println(sum);
    }

    public static void main2_2(String[] args) {
        //方法二
        double sum = 0;
        int flg = 1;
        for (int i = 1; i <= 100; i++){
            sum += 1.0 / i * flg;
            flg = -flg;
        }
        System.out.println(sum);
    }

    public static void main3(String[] args) {
//        完成猜数字游戏，用户输入数字，判断该数字是大于，
//        小于，还是等于随机生成的数字，
//        等于的时候退出程序。
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int randomNum = random.nextInt(101);

        while (true) {
            System.out.println("请输入数字");
            int num = scanner.nextInt();

            if (num > randomNum) {
                System.out.println("大了");
            } else if (num == randomNum) {
                System.out.println("right");
                break;
            } else {
                System.out.println("小了");
            }
        }
    }

    public static void main4(String[] args) {
        //打印用“*”组成的X形图案
        //多组输入，一个整数（2~20），
        //表示输出的行数，也表示组成“X”的反斜线和正斜线的长度。
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int n = sc.nextInt();

            //外循环(相当于坐标x)：图形总共n行，我们就循环n次
            for (int i = 0; i < n; i++) {
                //内循环(相当于坐标y)结合上一行来看就是第i行第j个
                for (int j = 0; j < n; j++) {
                    //观察过坐标图不难发现*都处于【横纵坐标相等】或者【和等于n-1】时
                    if (i == j || (i + j) == n - 1) {
                        System.out.print("*");
                    } else {
                        System.out.print(" ");
                    }
                }
                //外循环完成一次，代表一行写完，此处换行进行下一次循环
                System.out.println();
            }
        }
    }

    //输出一个整数的每一位
    //输出一个整数的每一位，如：123的每一位是3，2，1
    public static void main5(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入整数");
        int num = scanner.nextInt();
        while(num != 0){
            System.out.printf("%d ", num % 10);
            num /= 10;
        }
    }

    //编写代码模拟三次密码输入的场景。
    // 最多能输入三次密码，密码正确，提示“登录成功”,
    // 密码错误， 可以重新输入，最多输入三次。
    // 三次均错，则提示退出程序
    public static void main6(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int count = 3;
        while(count > 0){
            System.out.println("请输入密码");
            String codes = scanner.nextLine();
            if ("zhaozirui".equals(codes)){
                System.out.println("登陆成功");
                break;
            }else if(codes != "zhaozirui"){
                System.out.println("密码错误，请重新输入");
                count--;
            }
        }
        if (count == 0){
        System.out.println("三次输入错误，退出程序");}
        scanner.close();
    }


    //获取一个数二进制序列中所有的偶数位和奇数位， 分别输出二进制序列

    public static void main7(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字");
        int num = scanner.nextInt();
        //偶数位
        System.out.print("偶数位");
        for (int i = 31; i >= 0 ;i --){
            if (i % 2 != 0){
                int bit = (num >> i) & 1;
                System.out.print(bit);
            }else {
                System.out.print(0);
            }
        }

        System.out.println();

        //奇数位
        System.out.print("奇数位");
        for (int i = 31; i >= 0; i--){
            if (i % 2 != 0){
                System.out.print(0);
            }else {
                int bit = (num >> i) & 1;
                System.out.print(bit);
            }
        }
    }

    public static void main8(String[] args) {
        int num = 15;
        System.out.print("偶数位");
        for (int i = 31; i >= 0; i -= 2){
            int bit = (num >> i) & 1;
            System.out.print(bit);
        }

        System.out.println();

        System.out.print("奇数位");
        for (int i = 30; i >= 0; i -= 2){
            int bit = (num >> i) & 1;
            System.out.print(bit);
        }
    }

    //给定两个数，求这两个数的最大公约数
    //例如：
    //输入：20 40
    //输出：20
    public static void main9(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入：");
        int num1 = scanner.nextInt();
        int num2 = scanner.nextInt();

        while (num2 != 0){
            //欧几里得算法
            //两个数相除，如果余数不为0，则继续用除数 除以 余数 一直反复 到余数为0 最后一条的除数就是最大公约数
            int tmp = num2;
            num2 = num1 % num2;
            num1 = tmp;
        }
        System.out.print("输出：" + num1);
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要求最大公约数的两个数");
        int num1 = scanner.nextInt();//24
        int num2 = scanner.nextInt();//18

        int num3 = num1 % num2;
        while (num3 != 0){
            num1 = num2;
            num2 = num3;
            num3 = num1 % num2;
        }
        System.out.println(num2);
        scanner.close();
    }














}


